package com.muyu.system.domain.resp;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;
import com.muyu.system.domain.model.SysPostListModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**

 * 岗位信息响应列表
 * @author: AoCi Tian
 * @create: 2025-02-23 19:37
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysPostListResp {
    private static final long serialVersionUID = 1L;

    /**
     * 岗位序号
     */
    @Excel(name = "岗位序号", cellType = Excel.ColumnType.NUMERIC)
    private Long postId;

    /**
     * 岗位编码
     */
    @Excel(name = "岗位编码")
    private String postCode;

    /**
     * 岗位名称
     */
    @Excel(name = "岗位名称")
    private String postName;

    /**
     * 岗位排序
     */
    @Excel(name = "岗位排序")
    private Integer postSort;

    /**
     * 状态（0正常 1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 用户是否存在此岗位标识 默认不存在
     */
    @Builder.Default
    private boolean flag = false;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    public static SysPostListResp listBuild(SysPostListModel sysPostListModel) {
        return SysPostListResp.builder()
                .postId(sysPostListModel.getPostId())
                .postCode(sysPostListModel.getPostCode())
                .postName(sysPostListModel.getPostName())
                .postSort(sysPostListModel.getPostSort())
                .status(sysPostListModel.getStatus())
                .flag(sysPostListModel.isFlag())
                .createTime(sysPostListModel.getCreateTime())
                .build();
    }
}
